import request from '@/utils/request'

/**
 * 获取仪表盘统计数据
 * @param {Object} params - 查询参数
 * @param {String} params.start_date - 开始日期 YYYY-MM-DD
 * @param {String} params.end_date - 结束日期 YYYY-MM-DD
 * @returns {Promise}
 */
export function getDashboardStats(params) {
  return request({
    url: '/api/dashboard/stats/',
    method: 'get',
    params
  })
}

/**
 * 获取流失趋势数据
 * @param {Object} params - 查询参数
 * @param {String} params.time_range - 时间范围，可选值：week/month/year
 * @returns {Promise}
 */
export function getChurnTrend(params) {
  return request({
    url: '/api/dashboard/churn-trend/',
    method: 'get',
    params
  })
}

/**
 * 获取流失原因分布
 * @returns {Promise}
 */
export function getChurnReasons() {
  return request({
    url: '/api/dashboard/churn-reasons/',
    method: 'get'
  })
}

/**
 * 获取合同类型与流失关系
 * @returns {Promise}
 */
export function getContractChurnRelation() {
  return request({
    url: '/api/dashboard/contract-churn/',
    method: 'get'
  })
}

/**
 * 获取支付方式与流失关系
 * @returns {Promise}
 */
export function getPaymentChurnRelation() {
  return request({
    url: '/api/dashboard/payment-churn/',
    method: 'get'
  })
}

/**
 * 获取最近预警客户
 * @param {Object} params - 查询参数
 * @param {Number} params.page - 页码
 * @param {Number} params.page_size - 每页条数
 * @returns {Promise}
 */
export function getRecentAlerts(params) {
  return request({
    url: '/api/dashboard/recent-alerts/',
    method: 'get',
    params
  })
} 